EN FR
EN FR


Section: New Results

A compiler front-end for OpenMP's variants

OpenMP 5.0 introduced the concept of variant: a directive which can be used to indicate that a function is a variant of another existing base function, in a specific context (eg: foo_gpu_nvidia could be declared as a variant of foo , but only when executing on specific NVidia hardware).

In the context of PRACE-5IP, we want to leverage this construct to be able to take advantage of the StarPU heterogeneous scheduler through the interoperability layer between OpenMP and StarPU.

We started this work by implementing the necessary changes in the Clang front-end to support OpenMP's variant.